package cn.tedu.opp;

/**
 * @author: Dsi
 * @date: 2021/11/9 10:41
 * @description:该类用于测试方法的重写
 */
public class TestExtends {
    public static void main(String[] args) {
        F f=new F();
        S s=new S();
        f.eat();
        f.play();
        s.eat();
        s.play();
    }
}


class F {
    public void eat() {
        System.out.println("爸爸爱吃肉");
    }
    public byte s(){
        return 1;
    }
    public void play() {
        System.out.println("爸爸哎放风筝");
    }
}
class S extends F{
    /**继承后，子类可重写父类的方法，
     * 重写需遵循规则：  一大，两小，两同
     * 一大:子类修饰符权限>=父类修饰符权限
     * 两同：子类方法名与参数列表与父类一致
     * 两小：子类方法的返回值类型需与父类方法的返回值类型一致，或者是其子类
     *比如：父void 子void 或父Animal 子Cat
     */
    @Override//这是一个注解的标签，用来标记重写的方法
    public void eat(){
        System.out.println("儿子爱吃蔬菜");
    }
    public void play() {
        System.out.println("儿子哎放风筝");
    }

    //@Override，报错，只有重写的方法才可以加次注解
    public void dance(){
        System.out.println("儿子跳舞");
    }
    public byte s(){
        return 1;
    }
}
